package com.glodon.paas.monitor.server.exposed.facade;

import java.util.ArrayList;

import com.glodon.paas.monitor.server.biz.domain.MonitorAlarmRulesEntity;
import com.glodon.paas.monitor.server.biz.domain.MonitorItemEntity;
import com.glodon.paas.monitor.server.biz.domain.MonitorSendRulesEntity;
import com.glodon.paas.monitor.server.dto.MonitorAlarmRulesDTO;
import com.glodon.paas.monitor.server.dto.MonitorItemDTO;
import com.glodon.paas.monitor.server.dto.MonitorResultMsg;
import com.glodon.paas.monitor.server.dto.MonitorSendRulesDTO;

public interface MonitorItemAlarmSendFacadeService {

	public MonitorResultMsg<ArrayList<MonitorItemDTO>> queryMonitorItem(MonitorItemDTO entity);

	public MonitorResultMsg<MonitorItemEntity> findMonitorItemById(Long id);

	public MonitorResultMsg<MonitorItemEntity> changeMonitorItemStatus(Long itemId, String itemStatus);

	public MonitorResultMsg<MonitorItemEntity> saveMonitorItem(MonitorItemEntity monitorItemEntity);

	public MonitorResultMsg<MonitorItemEntity> updateMonitorItem(MonitorItemEntity monitorItemEntity);

	public MonitorResultMsg<Boolean> deleteMonitorItem(Long itemId);

	public MonitorResultMsg<ArrayList<MonitorAlarmRulesEntity>> queryMonitorAlarm(
			MonitorAlarmRulesDTO monitorAlarmRulesDTO);

	public MonitorResultMsg<MonitorAlarmRulesEntity> findMonitorAlarmRulesById(Long id);

	public MonitorResultMsg<MonitorAlarmRulesEntity> changeMonitorAlarmStatus(Long alarmId, String alarmStatus);

	public MonitorResultMsg<MonitorAlarmRulesEntity> saveMonitorAlarmRules(MonitorAlarmRulesEntity alarmRulesEntity);

	public MonitorResultMsg<MonitorAlarmRulesEntity> updateMonitorAlarmRules(MonitorAlarmRulesEntity entity);

	public MonitorResultMsg<Boolean> deleteMonitorAlarmRulesById(Long id);

	public MonitorResultMsg<ArrayList<MonitorSendRulesEntity>> queryMonitorSend(MonitorSendRulesDTO monitorSendRulesDTO);

	public MonitorResultMsg<MonitorSendRulesEntity> findMonitorSendRulesById(Long id);

	public MonitorResultMsg<MonitorSendRulesEntity> saveMonitorSendRules(MonitorSendRulesEntity sendRulesEntity);

	public MonitorResultMsg<MonitorSendRulesEntity> updateMonitorSendRules(MonitorSendRulesEntity entity);

	public MonitorResultMsg<Boolean> deleteMonitorSendRules(Long id);

	public MonitorResultMsg<MonitorSendRulesEntity> changeMonitorSendStatus(Long sendId, String sendStatus);
}
